热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

自由空间|正确性_服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例相关的知识,希望对你有一定的参考价值。



虚拟机数据恢复环境:

故障服务器操作系统为Linux系统;

文件系统为EXT4文件系统。


虚拟机故障:

故障服务器上的KVM虚拟机被删除,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。管理员联系我们数据恢复中心进行数据恢复。


虚拟机1:主数据库服务器

虚拟磁盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

主要数据:mysql数据库


虚拟机2:备份数据库服务器

虚拟磁盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

主要数据:MySQL数据库


虚拟机3:代码服务器

虚拟机盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

主要数据:程序代码


虚拟机数据恢复过程:

1、分析EXT4文件系统,定位被删除虚拟机磁盘文件的节点位置;

2、获取磁盘文件残留的索引信息;

3、校验残留索引信息的正确性,修复破坏不严重的索引;

图为获取的索引等信息:



【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复

4、修复完成后,解析残留的各级索引,从虚拟机所在的卷中提取虚拟磁盘文件;

5、根据虚拟磁盘文件的提取情况,获取卷中未被索引到的自由空间;

6、校验提取出的磁盘文件的正确性与完整性;

7、从自由空间中获取有效信息,北亚数据恢复工程师尝试对虚拟磁盘文件进行修补(如节点,目录项,数据库页等信息)。

图为提取出的自由空间:



【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复_02


虚拟机数据恢复结果:

1、由于索引丢失,提取出的虚拟磁盘文件并不完整,针对数据库服务器,数据库文件有丢失的情况,可以从自由空间中获取数据库页去对数据库文件进行修补,但由于部分页所在区域被覆盖占用,北亚数据恢复工程师只能尽量多的去补页;

2、对于存放程序代码的服务器中的节点和目录项丢失的情况,若节点或目录项有残留,可以尝试去补齐节点和目录项。但发现部分文件的节点和目录项同时丢失,根据节点和目录项之间相关联的特性,这种情况下无法补齐。另根据程序代码文件的特性,不具备一定的规律性,若其数据区丢失,无法补齐。

图为恢复出的部分目录结构:



【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_数据恢复_03

【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复_04

数据验证:

在尽可能的尝试对虚拟磁盘文件及其中的数据库文件修补之后,由客户用户对数据进行验证。数据有部分丢失,无法恢复,但重要数据都恢复出来了,数据恢复有效。


推荐阅读
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • PHP环境下的ini配置详解:聚焦错误相关选项
    本文详细探讨了PHP环境中的ini配置,特别是与错误处理相关的配置项,旨在帮助开发者更好地理解和调整php.ini文件以适应不同的开发需求。 ... [详细]
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • C#中调用OpenCTM打开.obj三维模型文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
author-avatar
丿至尊丨紫风
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有